配列 Array
[[a,b],[1,2]]]
要素 と インデックス
配列名[インデックス番号]
入れ子構造
長さ
固定長配列
安全性高い
可変長配列
拡張性高い
[a,b,c]
後ろ後ろのデータの移動が必要
メモリ上の連続したスロットが必要
code:array.js
// JavaScript
// C#
要素に対する処理
indexOf 要素のインデックスが欲しい
code:indexof.js
array.indexOf("mikan")//0
find 要素自体が欲しい
要素が含まれているかという真偽値が欲しい
every() 配列要素すべてが以下の条件を満たす時True
code:every.js
while (numbers.every((n) => n % 2 === 0)) {}
some() 配列要素が1つでもが以下の条件を満たす時True
code:some.js
while (numbers.some((n) => n % 2 === 0)) {}
分割代入 Destructuring assignment
code:dest.js
console.log(a,b); // 1 2
配列の展開
スプレッド演算子 Spread Operator
code:spread.js
// concat と違い、間に挿入可能
console.log(bag); // banana banana apple apple
// 元の配列は壊れない
console.log(cart.join(", ")); // banana,apple
繰り返し
要素を先頭から順番にコールバック関数へ
コールバックから返された値から新しい配列をつくる
コールバックから返された値がTrueな要素から新しい配列を作成 filter
code:filter.js
function isOdd(num){
return num % 2 ===1;
}
console.log(array.filter(isOdd))// 1,3,5 反復処理をして新しい値を作るreduce
array.reduce((accumulator, currentValue, index, array)
index ,array省略可能
code:result.js
function sum(numbers) {
return numbers.reduce((total, num) => {
return total + num;
}, 0); // 初期値が0
}
? 初期値0
初期値与えたいときは、何か別の値にする
破壊的メソッド
使う時意識
メソッドチェーンの使い慣れ大事
扱い
扱う際のBest Solution模索
TODO
整理したい
操作に対する性質
挿入
削除
検索
お決まりの操作のためのメソッド
便利なメソッド
注意点
mapとforEach